.TH std::map::at 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::map::at \- std::map::at

.SH Synopsis
   T& at( const Key& key );             \fB(1)\fP
   const T& at( const Key& key ) const; \fB(2)\fP
   template< class K >                  \fB(3)\fP (since C++26)
   T& at( const K& x );
   template< class K >                  \fB(4)\fP (since C++26)
   const T& at( const K& x ) const;

   Returns a reference to the mapped value of the element with specified key. If no
   such element exists, an exception of type std::out_of_range is thrown.

   1,2) The key is equivalent to key.
   3,4) The key compares equivalent to the value x. The reference to the mapped value
   is obtained as if by expression this->find(x)->second.
   The expression this->find(x) must be well-formed and have well-defined behavior,
   otherwise the behavior is undefined.
   These overloads participate in overload resolution only if the qualified-id
   Compare::is_transparent is valid and denotes a type. It allows calling this function
   without constructing an instance of Key.

.SH Parameters

   key - the key of the element to find
   x   - a value of any type that can be transparently compared with a key

.SH Return value

   A reference to the mapped value of the requested element.

.SH Exceptions

   1,2) std::out_of_range if the container does not have an element with the specified
   key.
   3,4) std::out_of_range if the container does not have the specified element, that
   is, if find(x) == end() is true.

.SH Complexity

   Logarithmic in the size of the container.

.SH Notes

                Feature-test macro                Value    Std          Feature
                                                                 Heterogeneous
                                                                 overloads for the
                                                                 remaining member
   __cpp_lib_associative_heterogeneous_insertion 202311L (C++26) functions in ordered
                                                                 and unordered
                                                                 associative
                                                                 containers. (3,4)

.SH Example

    This section is incomplete
    Reason: no example

  Defect reports

   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.

      DR    Applied to            Behavior as published              Correct behavior
   LWG 464  C++98      map did not have this member function       added
   LWG 703  C++98      the complexity requirement was missing      added
   LWG 2007 C++98      the return value referred to the requested  refers to its mapped
                       element                                     value

.SH See also

   operator[] access or insert specified element
              \fI(public member function)\fP

.SH Category:
     * Todo no example
